草庐IT

URL 重定向

全部标签

html - 如何从golang中的url检索html文档大小

我使用GoQuery检索HTML文档中的一些值。现在我需要获取HTML文档的大小(没有Assets)。在Firefox中,它就像工具-->页面信息(常规)选项卡一样简单,显示HTML文档的大小。我也尝试了net/html包,但我找不到给定URL的返回HTML的大小。有什么线索吗? 最佳答案 通过以下方式获取文档:res,err:=http.Get(url)iferr!=nil{//handleerror}deferres.Body.Close()现在您可以:body,err:=ioutil.ReadAll(res.Body)ifer

go - 我如何处理以 Go 中的某个 url 开头的任何 url?

您好,我在go中使用gorilla/mux,我想处理任何以“/a/b/c”开头的url我试过:router:=mux.NewRouter().StrictSlash(true)router.HandleFunc(`/a/b/{_dummy:c(\/)?.*}`,Func1)也就是url可以是/a/b/c/d或者/a/b/c/d/e 最佳答案 根据gorilla/mux的文档:http://www.gorillatoolkit.org/pkg/mux#Route.PathPrefixfunc(r*Router)PathPrefix(t

http - Golang 'http.NewRequest(method, url, body)' 无法创建正确格式的请求

我正在尝试向以下api发送GET请求:https://poloniex.com/public?command=returnOrderBook带URL参数:currencyPair=BTC_ETHdepth=20-->¤cyPair=BTC_ETH&depth=20我尝试这样设置和执行我的请求:(请注意,为简洁起见,我删除了错误检查)pair:="BTC_ETH"depth:=20reqURL:="https://poloniex.com/public?command=returnOrderBook"values:=url.Values{"currencyPair":[]st

go - 重定向到 Go 中的页面问题

这个问题在这里已经有了答案:multipleresponse.WriteHeadercallsinreallysimpleexample?(6个答案)Golanghttp:multipleresponse.WriteHeadercalls(1个回答)关闭5年前。我正在通过go服务index.html。但是,根据将通过页面发送的某些参数,go应该成功重定向到不同的页面。尝试执行代码时出现以下错误。http:多次响应.WriteHeader调用funcmain(){http.HandleFunc("/",func(whttp.ResponseWriter,r*http.Request){h

go - 获取 Go 中的所有 url

我想创建一个打印url名称的函数。当url有一个'?'时它不工作性格。谢谢你的帮助funclang(whttp.ResponseWriter,r*http.Request){message:=r.URL.Pathw.Write([]byte(message))} 最佳答案 使用Request.RequestURI获取请求URI。funclang(whttp.ResponseWriter,r*http.Request){message:=r.RequestURIw.Write([]byte(message))}

url - 在 golang 中如何拆分 URL 并从解码组件编码回 URL。有什么包裹吗?

在golang中如何拆分URL并从解码组件编码回URL。有什么软件包可以完成这项工作吗?net/url仅有助于解码URL。我想修改HOST和PORT并重新创建URL。我的问题源于我收到没有方括号的IPV6:port的情况。假设我得到IPV6:port格式如下:aaa:abbb:cccc:dddd:0000:0000:00aa:bbbb:8080/static/silly.html我想重建带有括号的IPV6地址的URL。 最佳答案 我认为这是不可能的。例如,如果您得到:2001:db8::1:80你怎么知道IP地址是不是2001:db

http - 重定向返回 http : multiple response. WriteHeader 调用

我正在使用JonCalhoun'sGoMVCframework来自github。框架使用julienschmidt/httprouter作为它唯一的依赖。我有一个与示例中类似的主要方法:funcmain(){//registerroutesrouter:=httprouter.New()//defaultrouter.GET("/",controllers.Login.Perform(controllers.Login.Index))//loginrouter.GET("/login",controllers.Login.Perform(controllers.Login.Login)

ssl - 从 HTTP 重定向到 HTTPS 是否有加密?

我在Go中有一个HTTPS服务器,这样用户就可以输入https://example.com在他们的浏览器中。我希望他们也能够输入“example.com”来访问我的HTTPS服务器。来自thisanswer我看到标准解决方案是运行一个重定向到https://example.com的HTTP服务器.我想知道这是否像一切都在HTTPS中一样安全。特别是,如果用户向“example.com”发送POST请求,内容在通过网络时会被加密吗? 最佳答案 对HTTP服务器的POST请求是不安全的。这包括服务器通过重定向到HTTPS服务器来响应PO

go - 默认服务器 mux 如何匹配 url 模式

我见过使用以下代码从请求路径中提取url参数的简单路由器实现。handler:=http.NewServerMux()handler.HandleFunc('/user/',func(whttp.ResponseWriter,r*http.Request){name:=strings.Replace(r.URL.Path,'/user/',"",1)//thiscodeio.WriteString(w,fmt.Sprintf("Hello%s\n",name)})然后他们将是另一条路线,如/user(注意缺少尾部斜线)。handler.HandleFunc('/user',handle

go - 为什么 Golang http 参数 (URL.Query()) 是列表的映射?

当我们打电话r.URL.Query()在Go中的http路由处理程序中,它返回一个map[string][]string。我想知道为什么它是一个列表,以及我是否可以在发送请求时以某种方式使用此属性。 最佳答案 它是一个列表,因为它允许在URL中发送相同查询字符串参数的多个副本,是的,您可以在请求中发送查询字符串参数。例如对于像http://example.com/?foo=1&foo=2这样的URL,Query()会返回:{"foo":["1","2"]} 关于go-为什么Golangh